package com.gxa.sideParking.core.exception;

/**
 *
 * @author
 * 自定义异常,用于抛出/捕获系统的业务异常
 * 作用: 封装一组异常信息 ; 可以用来和java自带的异常进行区分
 * 在使用了枚举之后, 自定义异常就有了code和messsage的传递方法
 * 所以, 自定义异常的构造方法就需要传递枚举对象
 *
 */
public class BusinessException extends Exception {

    private ErrorCode errorCode;

    public ErrorCode getErrorCode() {
        return errorCode;
    }

    public void setErrorCode(ErrorCode errorCode) {
        this.errorCode = errorCode;
    }

    /**
     * 构造方法
     * @param errorCode 传递一个ErrorCode的枚举对象
     */
    public BusinessException(ErrorCode errorCode){
        // 调用父类构造方法,必须传递String的消息
        super(errorCode.getMessage());

        // 将构造方法获取的errorCode传递给成员
        this.errorCode = errorCode;
    }

    /*public BusinessException(String message){
        super(message);
    }*/

}
